package com.itheima.mapper;

import com.github.pagehelper.Page;
import com.itheima.pojo.Menu;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface MenuMapper {
    /**
     * 1.获取所有的菜单列表
     *
     * @return
     */
    List<Menu> getAllMenus(@Param("username") String username);

    /**
     * 2.菜单分页查询
     *
     * @param keyword
     * @return
     */
    Page<Menu> queryPage(@Param("keyword") String keyword);

    /**
     * 3.获取所有的父级菜单id
     *
     * @return
     */
    List<Menu> getParentMenuIds();

    /**
     * 4.创建新菜单
     *
     * @param menu
     */
    void addMenu(Menu menu);

    /**
     * 5.获取菜单数据
     *
     * @param id
     * @return
     */
    Menu getMenuById(Integer id);

    /**
     * 6.更新菜单数据
     *
     * @param menu
     */
    void updateMenu(Menu menu);

    /**
     * 7.删除菜单数据
     *
     * @param id
     */
    void deleteMenuById(Integer id);
}
